package org.aphelie.torg.ruler.internal.core;

import org.aphelie.torg.ruler.core.IModelChangeProvider;


public interface IModelChangeProviderExtension extends IModelChangeProvider {
    /**
     * Passes all the listeners to the target change provider.
     * @param target the target provider
     * @param filter if not <code>null</code>, the filter will be used to
     * filter listeners that need to be transfered. Listeners that
     * do not pass the filter will be exempt from the transfer.
     */
    void transferListenersTo(IModelChangeProviderExtension target, IModelChangedListenerFilter filter);
}
